package com.university.logistic.uitl;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.HashMap;

//C00677232
//9cc19795f7d91cf2739f9a9b7e45d0f5
@Component
@Data
@ConfigurationProperties(prefix = "ihuyi")
public class SMSUtil {
    private String api;
    private String account;
    private String password;

    //返回的是验证码
    public String sendCode(String phone)throws Exception{
        //使用hutool提供的Http工具发送请求
        HashMap<String, Object> params = new HashMap<>();
        params.put("account",account);
        params.put("password",password);
        params.put("mobile",phone);
        params.put("format","json");
        //随机生成一个四位数的验证码
        String code=String.valueOf((int)(Math.random()*9000)+1000); //从1000-9999
        System.out.println(code);
        //官方提供的字符串内的不能改
        String content="您的验证码是：" + code + "。请不要把验证码泄露给其他人。";
        params.put("content",content);
        //向第三方的接口发送请求 hutool提供的 发送请求 获得响应   post第三方平台的接口 form参数
        HttpResponse response = HttpRequest.post(api).form(params).execute();
        String json = response.body();
        String resultCode = JSONUtil.parseObj(json).get("code").toString();
        //这里是互亿无线平台的专属收到信息
        if("2".equals(resultCode)){
            return code;
        }else{
            throw new RuntimeException(resultCode);    //throw new RuntimeException(resultCode)
        }
    }
}